package com.lemon.rpcframe.consumer.handler;

//package com.bj58.zptask.dtplat.tasktracker.handler;
//
//import io.netty.channel.ChannelHandlerAdapter;
//import io.netty.channel.ChannelHandlerContext;
//
//import java.util.concurrent.ScheduledFuture;
//
//import com.bj58.zptask.dtplat.rpc.netty5.NettyMessage;
//
//public class HeartBeatReqHandler extends ChannelHandlerAdapter {
//
//    private volatile ScheduledFuture<?> heartBeat;
//
//    @Override
//    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
//        NettyMessage message = (NettyMessage) msg;
//
//    }
//
//    private class HeartBeatTask implements Runnable {
//        private final ChannelHandlerContext ctx;
//
//        public HeartBeatTask(final ChannelHandlerContext ctx) {
//            this.ctx = ctx;
//        }
//
//        @Override
//        public void run() {
//            NettyMessage heatBeat = buildHeatBeat();
//            System.out.println("Client send heart beat messsage to server : ---> " + heatBeat);
//            ctx.writeAndFlush(heatBeat);
//        }
//
//        private NettyMessage buildHeatBeat() {
//            NettyMessage message = new NettyMessage();
//            message.setNodeGroup("heartbeat");
//            return message;
//        }
//    }
//
//    @Override
//    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
//        cause.printStackTrace();
//        if (heartBeat != null) {
//            heartBeat.cancel(true);
//            heartBeat = null;
//        }
//        ctx.fireExceptionCaught(cause);
//    }
//}
